1. Technical Field
The present invention generally relates to computer graphics and in particular to raster based graphic generation. Still more particularly, the present invention relates to random access memory associated with raster object data.
2. Description of the Related Art
Raster Image Processors generally consist of hardware and software that converts vector graphics into raster (bitmapped) images. These processors are used in page printers, phototypesetters, and electrostatic plotters. Raster image processing can be of considerable duration, particularly for the printing of large-sized graphical images containing large numbers of pixels.
Today""s printers take compressed data, typically, from a Reduced Instruction Set Computer (RISC) processor through a system bus, e.g. PCI bus, into a circuit board in the printer. The data is compressed, saved in memory and then sent to the circuit board over the system bus. The circuit board serves as an interface between the computer and the printer. Data is stored in memory on the printer circuit board for decompression and other processing such as merge and screen functions. The data is then sent to the printer. A need for faster throughput at the printer may require a large amount of pre-processing. Color and graphic data would have to be processed and stored in permanent memory, off printer, and beforehand in order to produce a xe2x80x9cquickxe2x80x9d print job. An involved graphics print job may involve pre-processing and storing the job in permanent memory the day before the job is started.
It would therefore be desirable to provide a method, system and program that would reduce the need for large amounts of memory for a high volume printer. It would also be desirable to provide a method that would reduce the preparation time for color printing jobs.
It is therefore one object of the present invention to provide access to raster object data and headers at high speed.
It is another object of the present invention to provide object data in a continuous stream to a color printer.
It is yet another object of the present invention to provide a system to allow high performance with low latency for multiple processors of multiple interleaved objects.
The foregoing objects are achieved as is now described. An output interface allows a user circuit to access data for multiple objects in an interleaved fashion. Status information is provided to guarantee data availability before each transfer sequence is started. An identifier is provided for each object. Each identifier, after data transfer has ended, may be subsequently reused to identify a different object. The interface provides the ability to retrieve all data in an object or to cancel the object before reaching the end and discarding the unretrieved data. The objects are provided to the appropriate processing mechanisms within the printer to implement a printing task. These objects correspond to images and text to be printed on a page. Object data is temporarily stored in limited data memory of the memory system and object headers are stored in header memory before transfer via the output interface.
Each object to be printed has an object header and may, or may not, have associated object data.
A memory system is enabled to access data for multiple objects in an interleaved fashion. Object data is retrieved from a system bus via an input interface, is temporarily stored in a limited data memory of the memory system and object headers are stored in a header memory. Each object to be printed has an object header and may, or may not, have associated object data. A xe2x80x9cskipxe2x80x9d function is provided in an input interface to the memory system to terminate a transfer function if object data is not ready. The memory system is enabled to retrieve all data in an object or to cancel the object before the end of the data is reached. An identifier is associated with each data object and is subsequently reused after the original data object is transferred or cancelled. A plurality of request levels is assigned to each data request to indicate the urgency of the request. This enables multiple memory systems to operate from a single data transfer function.
The memory system, comprising dual-port memory, is provided to store object data for at least twenty-four objects at a time. The data objects are divided into groups comprising Line Work control, line work data and continuous tone. The memory system is designed to act as multiple first-in-first-out memories enabling the input portion of the memory system to deposit data into the memory at the same time as three users are extracting data from the memory. After an object has passed through the first-in-firs-out memory, the memory is re-used for a new object. A re-usable identifier is assigned to each data object and re-assigned to a new object once the original data objects cancelled.
The above as well as additional objectives, features, and advantages of the present invention will become apparent in the following detailed written description.